The Java Development Kit (JDK) comprises a Java runtime system plus applications usch as tools and utilities that are pertinent to the development of java-based programs. For example, a JDK will usually contain such development tools as a java source to class file compiler (javac.exe), a java archiving tool (jar.exe), a security policy editor (policytool.exe) in addition to the generic Java program launcher (java.exe) (Java is a registered trademark of Sun Microsystems Inc).
Such tools and utilities are usually implemented using the Java language itself and are therefore platform independent. Each tool can be made accessible to anend user as a platform specific excutable that is a customized version of the generic Java launcher java.exe. In some cases the java code and launcher software components are built into a native executable (such as through the use of a conversion tool java2exe), although in this way platform independence is lost. Alternatively, a custom launcher software component is employed for each application which provides a unqique platform dependent executable application for each tool whilst retaining the platform independence of the java implemented tool itself. Each custom launcher invokes an application as a well defined type in an application class library such as a Java archive file. For example, tooling applications are convetionally stored in tools.jar.
The maintenance of multiple different custom launcher software components for different applications is resource intensive especially where it is necessary to effect a change in all launcher software components. It would therefore be advantageous to provide for the use of a common application launcher software component whilst retaining the ability to provide a unique executable file per application but without the need to convert platform independent applications to platform dependent executable format.